
package Figuras;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Point2D;


public class Circulo extends ComponenteGenerico{

    private double radio;

    public Circulo(Point2D punto, double radio){
        super(punto);
        introduceElRadioDelCirculo(radio);
    }

    public Circulo(int x, int y, double radio){
        super(x,y);
        introduceElRadioDelCirculo(radio);
    }

    public double devuelveElRadioDelCirculo() {
        return radio;
    }

    public void introduceElRadioDelCirculo(double radio) {
        this.radio = radio;
    }

    @Override
    public void dibujar(Graphics g){
        Graphics2D g2;
        Ellipse2D e2;

        e2 = new Ellipse2D.Float((int)devuelveElPuntoDeInicio().getX() - (int)radio, (int)devuelveElPuntoDeInicio().getY()
                    - (int)radio, (int)radio * 2 , (int)radio * 2);
        g2 = (Graphics2D)g;
        g2.draw(e2);
    }

    @Override
    public boolean devuelveSiEstaDentroElPunto(int x, int y){
        if(Math.sqrt(((devuelveElPuntoDeInicio().getX() - x) * (devuelveElPuntoDeInicio().getX() - x)) +
                ((devuelveElPuntoDeInicio().getY() - y) * (devuelveElPuntoDeInicio().getY() - y))) < devuelveElRadioDelCirculo()){
            return true;
        }
        return false;
    }

    @Override
    public void devuelveLaPosicionDeInicioDelComponente(int x, int y){
        introduceElPuntoDeInicio(x, y);
    }
}
